Skip to main content

Services Layer

The services layer contains API and business logic services for the application

Details

  • 📁 Absolute Path: @s
  • 📁 Folder Location: src/services

Layer Import and Usage Rules

Actionbasecomponentslibsmodulesviewsappservices
📥 Can Import From
📤 Can Export To

Key:

  • Allowed: The layer can import from or export to the specified layer.
  • Not Allowed: The layer cannot import from or export to the specified layer.

The services layer contains API and business logic services for the application. It is responsible for handling data fetching, manipulation, and business logic operations. The services layer is used by the modules, views, and app layers to fetch data from APIs, perform business logic operations, and manage the state of the application.

1. Purpose of the services Layer

The services layer is responsible for:

  • Handling data fetching and manipulation
  • Performing business logic operations
  • Managing the state of the application
  • Providing data to the modules, views, and app layers
  • Abstracting the data fetching and business logic operations from the modules, views, and app layers

2. Structure of the services Layer

   src/
└── services/
├── api/ # API services
| ├── user.ts # User API service
| ├── product.ts # Product API service
| └── ... # Other API services
├── business/ # Business logic services
| ├── user.ts # User business logic service
| ├── product.ts # Product business logic service
| └── ... # Other business logic services

3. Usage of the views Layer

src/services/api/user.ts
import {axios} from "@s/api/request";

export async function getUser() {
const response = await axios.get('/user');
return response.data;
}

4. Files in the services Layer

The services layer contains the following files:

  • api/ - Contains API services
  • business/ - Contains business logic services